﻿using Microsoft.Extensions.DependencyInjection;
using Puppy.Modularity;
using System;

namespace Puppy
{
    public interface IPuppyApplication : IModuleContainer, IDisposable
    {
        IServiceCollection Services { get; }

        IServiceProvider ServiceProvider { get; }

        void Initialize(IServiceProvider serviceProvider = null);

        void Shutdown();
    }
}
